﻿#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

//void test(int* str,int sz)
//{
//	for (int i = 0; i < sz; i++)
//	{
//		printf("%d ", *(str + i));
//	}
//}
//
//int main()
//{
//	//写一个函数打印arr数组的内容，不使用数组下标，使用指针。
//
//	//arr是一个整形一维数组。
//	int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	test(arr,sz);
//
//	return 0;
//}


//对于给定的由小写字母和空格混合构成的字符串 
//�
//s，将其翻转后输出。
//保证给定的字符串
//�
//s 的首尾不为空格。
//

//int main() {
//    char arr[10000];
//    fgets(arr, sizeof(arr), stdin);
//    char* p = arr;
//    int count = 0;
//    while (*p != '\0')
//    {
//        count++;
//        p++;
//    }
//    for (int i = count - 2; i >= 0; i--)
//    {
//        printf("%c", arr[i]);
//    }
//    return 0;
//}

//打印菱形
//int main()
//{
//	char n = '*';
//	int k = 0;
//	for (int i = 0;i<=13; i+=2)
//	{
//		for (int x =6-k; x>=0; x--)
//		{
//			printf(" ");
//		}
//		for (int j = 0; j <= i; j++)
//		{
//			printf("%c", n);
//		}
//		printf("\n");
//		k++;
//	}
//	printf("***************\n");
//	k = 6;
//	for (int i = 13; i >= 0; i -= 2)
//	{
//		for (int x = k; x <= 6; x++)
//		{
//			printf(" ");
//		}
//		for (int j = 0; j <i; j++)
//		{
//			printf("%c", n);
//		}
//		printf("\n");
//		k--;
//	}
//	return 0;
//}

//求出0～100000之间的所有“水仙花数”并输出。
//
//“水仙花数”是指一个n位数，其各位数字的n次方之和确好等于该数本身，如 : 153＝1 ^ 3＋5 ^ 3＋3 ^ 3，则153是一个“水仙花数”。

//#include<math.h>
//int main()
//{
//	
//	
//	for (int i = 0; i <= 100000; i++)
//	{
//		int count = 0;
//		int sum = 0;
//		int a  = i;
//		while (a)
//		{
//			a = a / 10;
//			count++;
//		}
//		a = i;
//		while (a)
//		{
//			int k = a % 10;
//			sum += pow(k,count);
//			a = a / 10;
//		}
//		if (sum == i)
//		{
//			printf("%d ", i);
//		}
//	}
//	return 0;
//}


//求Sn = a + aa + aaa + aaaa + aaaaa的前5项之和，其中a是一个数字，
//
//例如：2 + 22 + 222 + 2222 + 22222
#include<math.h>
int main()
{
	int a;
	scanf("%d", &a);
	int sum = 0;
	int k = a;
	for (int i = 0; i < 5; i++)
	{
		sum += a;
		a = a + k*pow(10,i+1);
	}
	printf("%d", sum);
	return 0;
}

